package com.love.travel.mapper;

import java.util.List;
import com.love.travel.domain.TravelProduct;

/**
 * 旅游产品Mapper接口
 * 
 * @author love
 * @date 2025-10-22
 */
public interface TravelProductMapper 
{
    /**
     * 查询旅游产品
     * 
     * @param productId 旅游产品主键
     * @return 旅游产品
     */
    public TravelProduct selectTravelProductByProductId(Long productId);

    /**
     * 查询旅游产品
     *
     * @param vendorId 旅游产品主键
     * @return 旅游产品
     */
    public List<TravelProduct> selectTravelProductByUserId(Long vendorId);


    /**
     * 查询旅游产品列表
     * 
     * @param travelProduct 旅游产品
     * @return 旅游产品集合
     */
    public List<TravelProduct> selectTravelProductList(TravelProduct travelProduct);

    /**
     * 查询产品总数用于生成前端编码
     * @return
     */
    public Integer selectProductTotal();

    /**
     * 新增旅游产品
     * 
     * @param travelProduct 旅游产品
     * @return 结果
     */
    public int insertTravelProduct(TravelProduct travelProduct);

    /**
     * 修改旅游产品
     * 
     * @param travelProduct 旅游产品
     * @return 结果
     */
    public int updateTravelProduct(TravelProduct travelProduct);

    /**
     * 删除旅游产品
     * 
     * @param productId 旅游产品主键
     * @return 结果
     */
    public int deleteTravelProductByProductId(Long productId);

    /**
     * 批量删除旅游产品
     * 
     * @param productIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTravelProductByProductIds(Long[] productIds);
}
